const vues = [{
  id: `1`,
  type: `vue`,
  title: `Vue的基本原理`
}, {
  id: `2`,
  type: `vue`,
  title: `双向数据绑定的原理`
}, {
  id: `3`,
  type: `vue`,
  title: `使用 Object.defineProperty() 来进行数据劫持有什么缺点？`
}, {
  id: `4`,
  type: `vue`,
  title: `MVVM、MVC、MVP的区别`
}, {
  id: `5`,
  type: `vue`,
  title: `Computed 和 Watch 的区别`
}, {
  id: `6`,
  type: `vue`,
  title: `Computed 和 Methods 的区别`
}, {
  id: `7`,
  type: `vue`,
  title: `slot是什么？有什么作用？原理是什么？`
}, {
  id: `8`,
  type: `vue`,
  title: `过滤器的作用，如何实现一个过滤器`
}, {
  id: `9`,
  type: `vue`,
  title: `如何保存页面的当前的状态`
}, {
  id: `10`,
  type: `vue`,
  title: `常见的事件修饰符及其作用`
}, {
  id: `11`,
  type: `vue`,
  title: `v-if、v-show、v-html 的原理`
}, {
  id: `12`,
  type: `vue`,
  title: `v-if和v-show的区别`
}, {
  id: `13`,
  type: `vue`,
  title: ` v-model 是如何实现的，语法糖实际是什么？`
}, {
  id: `14`,
  type: `vue`,
  title: ` v-model 可以被用在自定义组件上吗？如果可以，如何使用？`
}, {
  id: `15`,
  type: `vue`,
  title: `data为什么是一个函数而不是对象`
}, {
  id: `16`,
  type: `vue`,
  title: `对keep-alive的理解，它是如何实现的，具体缓存的是什么？`
}, {
  id: `17`,
  type: `vue`,
  title: `$nextTick 原理及作用`
}, {
  id: `18`,
  type: `vue`,
  title: `Vue 中给 data 中的对象属性添加一个新的属性时会发生什么？如何解决？`
}, {
  id: `19`,
  type: `vue`,
  title: `Vue中封装的数组方法有哪些，其如何实现页面更新`
}, {
  id: `20`,
  type: `vue`,
  title: `Vue 单页应用与多页应用的区别`
}, {
  id: `21`,
  type: `vue`,
  title: `Vue template 到 render 的过程`
}, {
  id: `22`,
  type: `vue`,
  title: `Vue data 中某一个属性的值发生改变后，视图会立即同步执行重新渲染吗？`
}, {
  id: `23`,
  type: `vue`,
  title: `简述 mixin、extends 的覆盖逻辑`
}, {
  id: `24`,
  type: `vue`,
  title: `描述下Vue自定义指令`
}, {
  id: `25`,
  type: `vue`,
  title: `子组件可以直接改变父组件的数据吗？`
}, {
  id: `26`,
  type: `vue`,
  title: `Vue是如何收集依赖的？`
}, {
  id: `27`,
  type: `vue`,
  title: `对 React 和 Vue 的理解，它们的异同`
}, {
  id: `28`,
  type: `vue`,
  title: `Vue的优点`
}, {
  id: `29`,
  type: `vue`,
  title: `assets和static的区别`
}, {
  id: `30`,
  type: `vue`,
  title: `delete和Vue.delete删除数组的区别`
}, {
  id: `31`,
  type: `vue`,
  title: `vue如何监听对象或者数组某个属性的变化`
}, {
  id: `32`,
  type: `vue`,
  title: `什么是 mixin ？`
}, {
  id: `33`,
  type: `vue`,
  title: `Vue模版编译原理`
}, {
  id: `34`,
  type: `vue`,
  title: `对SSR的理解`
}, {
  id: `35`,
  type: `vue`,
  title: `Vue的性能优化有哪些`
}, {
  id: `36`,
  type: `vue`,
  title: `对 SPA 单页面的理解，它的优缺点分别是什么？`
}, {
  id: `37`,
  type: `vue`,
  title: `template和jsx的有什么分别？`
}, {
  id: `38`,
  type: `vue`,
  title: `extend 有什么作用`
}, {
  id: `39`,
  type: `vue`,
  title: `mixin 和 mixins 区别`
}, {
  id: `40`,
  type: ` MVVM的优缺点?`,
}, {
  id: `41`,
  type: `vue`,
  title: `说一下Vue的生命周期`
}, {
  id: `42`,
  type: `vue`,
  title: `Vue 子组件和父组件执行顺序`
}, {
  id: `43`,
  type: `vue`,
  title: `created和mounted的区别`
}, {
  id: `44`,
  type: `vue`,
  title: `一般在哪个生命周期请求异步数据`
}, {
  id: `45`,
  type: `vue`,
  title: `keep-alive 中的生命周期哪些`
}, {
  id: `46`,
  type: `vue`,
  title: `组件通信的方式`
}, {
  id: `47`,
  type: `vue`,
  title: `Vue-Router 的懒加载如何实现`
}, {
  id: `48`,
  type: `vue`,
  title: `路由的hash和history模式的区别`
}, {
  id: `49`,
  type: `vue`,
  title: `如何获取页面的hash变化`
}, {
  id: `50`,
  type: `vue`,
  title: `$route 和$router 的区别`
}, {
  id: `51`,
  type: `vue`,
  title: `如何定义动态路由？如何获取传过来的动态参数？`
}, {
  id: `52`,
  type: `vue`,
  title: `Vue-router 路由钩子在生命周期的体现`
}, {
  id: `53`,
  type: `vue`,
  title: `Vue-router跳转和location.href有什么区别`
}, {
  id: `54`,
  type: `vue`,
  title: `params和query的区别`
}, {
  id: `55`,
  type: `vue`,
  title: `Vue-router 导航守卫有哪些`
}, {
  id: `56`,
  type: `vue`,
  title: `对前端路由的理解`
}, {
  id: `57`,
  type: `vue`,
  title: `Vuex 的原理`
}, {
  id: `58`,
  type: `vue`,
  title: `Vuex中action和mutation的区别`
}, {
  id: `59`,
  type: `vue`,
  title: `Vuex 和 localStorage 的区别`
}, {
  id: `60`,
  type: `vue`,
  title: `Redux 和 Vuex 有什么区别，它们的共同思想`
}, {
  id: `61`,
  type: `vue`,
  title: `为什么要用 Vuex 或者 Redux`
}, {
  id: `62`,
  type: `vue`,
  title: `Vuex有哪几种属性？`
}, {
  id: `63`,
  type: `vue`,
  title: `Vuex和单纯的全局对象有什么区别？`
}, {
  id: `64`,
  type: `vue`,
  title: `为什么 Vuex 的 mutation 中不能做异步操作？`
}, {
  id: `65`,
  type: `vue`,
  title: `Vuex的严格模式是什么,有什么作用，如何开启？`
}, {
  id: `66`,
  type: `vue`,
  title: `如何在组件中批量使用Vuex的getter属性`
}, {
  id: `67`,
  type: `vue`,
  title: `如何在组件中重复使用Vuex的mutation`
}, {
  id: `68`,
  type: `vue`,
  title: `Vue3.0有什么更新`
}, {
  id: `69`,
  type: `vue`,
  title: `defineProperty和proxy的区别`
}, {
  id: `70`,
  type: `vue`,
  title: ` Vue3.0 为什么要用 proxy？`
}, {
  id: `71`,
  type: `vue`,
  title: `Vue 3.0 中的 Vue Composition API？`
}, {
  id: `72`,
  type: `vue`,
  title: ` Composition API与React Hook很像，区别是什么`
}, {
  id: `73`,
  type: `vue`,
  title: `对虚拟DOM的理解？`
}, {
  id: `74`,
  type: `vue`,
  title: `虚拟DOM的解析过程`
}, {
  id: `75`,
  type: `vue`,
  title: `为什么要用虚拟DOM`
}, {
  id: `76`,
  type: `vue`,
  title: `DIFF算法的原理`
}, {
  id: `77`,
  type: `vue`,
  title: `Vue中key的作用`
}, {
  id: `78`,
  type: `vue`,
  title: `为什么不建议用index作为key?`
}
]
export default vues